In recent years, there has been an explosion of data being communicated over computer networks. At any given instant, the throughput capabilities of any IP network are fixed. If demand for access to the network exceeds the capacity of the network, then network congestion occurs. With network congestion comes delayed data delivery or, worse yet, loss of data. This can be particularly problematic if the data being sent is time sensitive and/or highly important data.
In the past, two basic technologies have been proposed to provide quality of service (QoS) over IP networks. These are Integrated Services (IntServ) and Differentiated Services (DiffServ).
One way to provide consistent QoS in a congested network is to differentiate between packets and forward some preferentially according to different priorities. If the network is fully utilized, the resources must be taken away from some packets and given to others. Even with priority forwarding, there is a limit to the amount of traffic that can be handled at each priority level without introducing delay. Admission control is the process of limiting the amount of traffic admitted at each QoS to that for which the specified parameters can be met. IntServ and DiffServ differ in how these two variables, priority and admission control, are used to provide QoS.
IntServ is based on reserving resources per flow at each router along a specific path. Usually the Resource Reservation Protocol (RSVP) is used to set up these reservations. Each router is typically responsible for managing admission to its own resources. Typically, each router must then inspect every received packet to determine which reserved flow, if any, it is a part of. Each packet is given a priority, valid only within that router, based on the reservation state of that flow in that router.
While this approach has advantages in that as long as the reserved path remains unchanged, the specified QoS can be met with a high degree of precision, it also has some serious disadvantages. It is dependent on the data packets following a specific fixed path. If the data packets venture outside of this fixed path, QoS is lost until resources are reserved along the new path. There are also serious scalability problems inherent in requiring each router in the network to maintain a detailed table of all QoS flows that pass through it. This is both an issue of the size of this flow table and the execution time to search the table to identify to which flow each incoming packet belongs. IntServ thus offers a precise control of QoS in a network that is static or very slowly changing.
By contrast, DiffServ controls admission at the network boundaries. Once admitted, packets are marked with a DS codepoint that specifies a network wide per hop behavior (PHB) to be used by each router in forwarding the packet. Thus, admission control occurs once at the network boundary, and there is no distinction between flows internally.
While DiffServ is completely independent of path within the network and is clearly advantageous in dynamic networks, it has some drawbacks. The downside is that admission control becomes more complicated; since traffic may enter the network from many different points, some kind of centralized coordination between possible entry points is required. If the admission controller were to be cognizant of detailed network topology and traffic loading, then the admission control function would be path dependent, and little would be gained relative to IntServ. Conversely, if a more approximate scheme were adopted which did not attempt to track network topology and traffic patterns, then the level of precision of QoS would be reduced. Also, DiffServ does have the advantage that QoS is not interrupted, but it may be evenly degraded for many flows in a region of the network that exhibits a bottleneck topology or a concentrated traffic load.
Consequently, there exists a need for improved methods and systems for providing QoS on mobile IP networks in an efficient manner.